package rede;

import java.util.ArrayList;
import java.util.List;

public class NeuronioHidden {

  private List<SinapseHidden> sinapsesHidden;
  private List<SinapseInput> sinapsesInput;
  private Bias bias;
  private double input;
  private double somaPesosSinapsesInput;
  private double somaErroInformacaoOut;
  private double erroInformacao;

  public NeuronioHidden () {
    sinapsesHidden = new ArrayList<SinapseHidden>();
    sinapsesInput = new ArrayList<SinapseInput>();
    bias = new Bias();
  }

  public void adicionaNaSoma (double valor) {
    somaPesosSinapsesInput = somaPesosSinapsesInput + valor;
  }

  public void adicionaNaSomaErroOut (double valor) {
    somaErroInformacaoOut = somaErroInformacaoOut + valor;
  }

  /**
   * @return the input
   */
  public double getInput () {
    return input;
  }

  /**
   * @param input
   *          the input to set
   */
  public void setInput (double input) {
    this.input = input;
  }

  /**
   * @return the sinapsesInput
   */
  public List<SinapseInput> getSinapsesInput () {
    return sinapsesInput;
  }

  /**
   * @param sinapsesInput
   *          the sinapsesInput to set
   */
  public void setSinapsesInput (List<SinapseInput> sinapsesInput) {
    this.sinapsesInput = sinapsesInput;
  }

  /**
   * @return the sinapsesHidden
   */
  public List<SinapseHidden> getSinapsesHidden () {
    return sinapsesHidden;
  }

  /**
   * @param sinapsesHidden
   *          the sinapsesHidden to set
   */
  public void setSinapsesHidden (List<SinapseHidden> sinapsesHidden) {
    this.sinapsesHidden = sinapsesHidden;
  }

  /**
   * @return the somaPesosSinapsesInput
   */
  public double getSomaPesosSinapsesInput () {
    return somaPesosSinapsesInput;
  }

  /**
   * @param somaPesosSinapsesInput
   *          the somaPesosSinapsesInput to set
   */
  public void setSomaPesosSinapsesInput (double somaPesosSinapsesInput) {
    this.somaPesosSinapsesInput = somaPesosSinapsesInput;
  }

  /**
   * @return the somaErroInformacaoOut
   */
  public double getSomaErroInformacaoOut () {
    return somaErroInformacaoOut;
  }

  /**
   * @param somaErroInformacaoOut
   *          the somaErroInformacaoOut to set
   */
  public void setSomaErroInformacaoOut (double somaErroInformacaoOut) {
    this.somaErroInformacaoOut = somaErroInformacaoOut;
  }

  /**
   * @return the erroInformacao
   */
  public double getErroInformacao () {
    return erroInformacao;
  }

  /**
   * @param erroInformacao
   *          the erroInformacao to set
   */
  public void setErroInformacao (double erroInformacao) {
    this.erroInformacao = erroInformacao;
  }

  /**
   * @return the bias
   */
  public Bias getBias () {
    return bias;
  }

  /**
   * @param bias
   *          the bias to set
   */
  public void setBias (Bias bias) {
    this.bias = bias;
  }

}
